<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BButtonGroup</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<h1>BButtonGroup</h1>
		<p>继承自<a href="BObject.html">BObject</a></p>
		<p id="resume">BButtonGroup可包含多个按钮，并对他们选中状态进行管理。<a href="#desc">详细</a></p>
		<h2>public</h2>
		<table id="public">
			<tr><td align="right"/><td><a href="#BButtonGroup(const BString&)">BButtonGroup</a>(const BString& name = BString());</td></tr>
			<tr><td align="right"/><td><a href="#BButtonGroup(SelectMode,const BString&)">BButtonGroup</a>(SelectMode selectMode, const BString& name = BString());</td></tr>
			<tr><td align="right"/><td><a href="#~BButtonGroup()">~BButtonGroup</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setSelectMode(SelectMode)">setSelectMode</a>(SelectMode selectMode);</td></tr>
			<tr><td align="right">SelectMode </td><td><a href="#selectMode()">selectMode</a>() const;</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#addButton(const BString&,BWidget*)">addButton</a>(const BString& text, BWidget* parent = 0);</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#addButton(Graph, const BString&,BWidget*)">addButton</a>(Graph graph, const BString& text, BWidget* parent = 0);</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#addButton(BIcon*, const BString&,BWidget*)">addButton</a>(BIcon* icon, const BString& text, BWidget* parent = 0);</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#addButton(BImage*, const BString&,BWidget*)">addButton</a>(BImage* image, const BString& text, BWidget* parent = 0);</td></tr>
			<tr><td align="right">bool </td><td><a href="#addButton(BButton*)">addButton</a>(BButton* button);</td></tr>
			<tr><td align="right">bool </td><td><a href="#insertButton(int, BButton*)">insertButton</a>(int pos, BButton* button);</td></tr>
			<tr><td align="right">bool </td><td><a href="#removeButton(BButton*)">removeButton</a>(BButton* button);</td></tr>
			<tr><td align="right">bool </td><td><a href="#clearButtons()">clearButtons</a>();</td></tr>
			<tr><td align="right">int </td><td><a href="#buttonCount()">buttonCount</a>() const;</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#button(int)">button</a>(int index);</td></tr>
			<tr><td align="right">const BButton* </td><td><a href="#button(int)">button</a>(int index) const;</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#button(const BString&)">button</a>(const BString& name);</td></tr>
			<tr><td align="right">const BButton* </td><td><a href="#button(const BString&)">button</a>(const BString& name) const;</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#buttonOfText(const BString&)">buttonOfText</a>(const BString& text);</td></tr>
			<tr><td align="right">const BButton* </td><td><a href="#buttonOfText(const BString&)">buttonOfText</a>(const BString& text) const;</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#buttonOfAsset(const BValue&)">buttonOfAsset</a>(const BValue& value);</td></tr>
			<tr><td align="right">const BButton* </td><td><a href="#buttonOfAsset(const BValue&)">buttonOfAsset</a>(const BValue& value) const;</td></tr>
			<tr><td align="right">int </td><td><a href="#checkedCount()">checkedCount</a>() const;</td></tr>
			<tr><td align="right">BButton* </td><td><a href="#checkedButton(int)">checkedButton</a>(int index = 0) const;</td></tr>
			<tr><td align="right">void </td><td><a href="#clearSelection()">clearSelection</a>();</td></tr>
		</table>
		<div id="desc">
			<h2>详细介绍：</h2><p>BButtonGroup可包含多个按钮，并对他们选中状态进行管理。当一个按钮被放入组时，会被改变成可选择模式，通常会放入更高级的按钮如单选框（BRadioBox）或多选框（BCheckBox）这两个按钮会显示特定的状态图形。<p>按钮组可以改变选中模式，分别为单选（Select_Single）和多选（Select_Multiple），默认是单选模式。单选模式下一个按钮变为选中状态，则其它按钮的选中状态会被清除。</p><p>按钮组会将各个按钮的信号进行转发，如按下，选中，点击等。</p><p>信号：(更多信号参考BObject)<br/>
					<table>
						<tr><td>Signal_Insert</td><td>当一个按钮被添加时发出，数值是BButton*。</td></tr>
						<tr><td>Signal_Remove</td><td>当一个按钮被移除时发出，数值是BButton*。</td></tr>
						<tr><td>Signal_Clear</td><td>当完成清空操作时发出，无数值。</td></tr>
						<tr><td>Signal_Pressed</td><td>当一个按钮被按下时发出，数值是BButton*。</td></tr>
						<tr><td>Signal_Clicked</td><td>当一个按钮被点击时发出，数值是BButton*。</td></tr>
						<tr><td>Signal_Toggled</td><td>当一个按钮被切换时发出，数值是BButton*。</td></tr>
						<tr><td>Signal_Checked</td><td>当一个按钮的选中状态改变时发出，数值是BButton*。</td></tr></table></p></p>
		</div>
		<h2 id="docs">成员文档：</h2>
		<div id="BButtonGroup(const BString&)">
			<h3>BButtonGroup(const BString&amp; name = BString());</h3><p>构造一个按钮组，并赋予名称。</p>
		</div>
		<div id="BButtonGroup(SelectMode,const BString&)">
			<h3>BButtonGroup(SelectMode selectMode, const BString&amp; name = BString());</h3><p>构造一个按钮组，并赋予选择模式和名称。</p>
		</div>
		<div id="~BButtonGroup()">
			<h3>~BButtonGroup();</h3><p>析构一个按钮组，此方法会断开与所有按钮的信号联接。</p>
		</div>
		<div id="setSelectMode(SelectMode)">
			<h3>void setSelectMode(SelectMode selectMode);</h3><p>设置选择模式，默认是单选模式。</p>
		</div>
		<div id="selectMode()">
			<h3>SelectMode selectMode() const;</h3><p>获得当前选择模式。</p>
		</div>
		<div id="addButton(const BString&,BWidget*)">
			<h3>BButton* addButton(const BString&amp; text, BWidget* parent = 0);</h3><p>创建并添加一个按钮，text为新按钮的文本，parent指定新按钮的父控件。完成后返回新按钮。此操作会发出Signal_Insert信号。</p>
		</div>
		<div id="addButton(Graph, const BString&,BWidget*)">
			<h3>BButton* addButton(Graph graph, const BString&amp; text, BWidget* parent = 0);</h3><p>创建并添加一人按钮，graph指定图样，text指定文本，parent指定新按钮的父控件。完成后返回新按钮。此操作会发出Signal_Insert信号。</p>
		</div>
		<div id="addButton(BIcon*, const BString&,BWidget*)">
			<h3>BButton* addButton(BIcon* icon, const BString&amp; text, BWidget* parent = 0);</h3><p>创建并添加一人按钮，icon指定图标，text指定文本，parent指定新按钮的父控件。完成后返回新按钮。此操作会发出Signal_Insert信号。</p>
		</div>
		<div id="addButton(BImage*, const BString&,BWidget*)">
			<h3>BButton* addButton(BImage* image, const BString&amp; text, BWidget* parent = 0);</h3><p>创建并添加一人按钮，image指定图像，text指定文本，parent指定新按钮的父控件。完成后返回新按钮。此操作会发出Signal_Insert信号。</p>
		</div>
		<div id="addButton(BButton*)">
			<h3>bool addButton(BButton* button);</h3><p>添加一个按钮，将其设置为开启选择模式，若添加成功发出信号：Signal_Insert。</p>
		</div>
		<div id="insertButton(int, BButton*)">
			<h3>bool insertButton(int pos, BButton* button);</h3><p>在pos指定的位置插入一个按钮，将其设置为开启选择模式。此操作会发出Signal_Insert信号。</p>
		</div>
		<div id="removeButton(BButton*)">
			<h3>bool removeButton(BButton* button);</h3><p>从按钮组中移除一个按钮。此操作会发出Signal_Remove信号。</p>
		</div>
		<div id="clearButtons()">
			<h3>bool clearButtons();</h3><p>清空所有按钮，每个按钮的选中状态会被清除，在移除按钮时分别发出Signal_Remove信号。清除完成后发出Signal_Clear信号。</p>
		</div>
		<div id="buttonCount()">
			<h3>int buttonCount() const;</h3><p>获取按钮个数。</p>
		</div>
		<div id="button(int)">
			<h3>BButton* button(int index);</h3><p>获得第index个按钮。</p>
		</div>
		<div id="button(int)">
			<h3>const BButton* button(int index) const;</h3><p>获得第index个按钮。</p>
		</div>
		<div id="button(const BString&)">
			<h3>BButton* button(const BString&amp; name);</h3><p>通过名称寻找按钮，name指定按钮的名称。</p>
		</div>
		<div id="button(const BString&)">
			<h3>const BButton* button(const BString&amp; name) const;</h3><p>通过名称寻找按钮，name指定按钮的名称。</p>
		</div>
		<div id="buttonOfText(const BString&)">
			<h3>BButton* buttonOfText(const BString&amp; text);</h3><p>通过文本寻找按钮，text指定按钮的文本。</p>
		</div>
		<div id="buttonOfText(const BString&)">
			<h3>const BButton* buttonOfText(const BString&amp; text) const;</h3><p>通过文本寻找按钮，text指定按钮的文本。</p>
		</div>
		<div id="buttonOfAsset(const BValue&)">
			<h3>BButton* buttonOfAsset(const BValue&amp; asset);</h3><p>通过资产寻找按钮，asset指定按钮的资产。</p>
		</div>
		<div id="buttonOfAsset(const BValue&)">
			<h3>const BButton* buttonOfAsset(const BValue&amp; asset) const;</h3><p>通过资产寻找按钮，asset指定按钮的资产。</p>
		</div>
		<div id="checkedCount()">
			<h3>int checkedCount() const;</h3><p>获取所有状态为选中的按钮个数。</p>
		</div>
		<div id="checkedButton(int)">
			<h3>BButton* checkedButton(int index = 0) const;</h3><p>获取一个状态为选中的按钮。</p>
		</div>
		<div id="clearSelection()">
			<h3>void clearSelection();</h3><p>清除所有按钮的选中状态。</p>
		</div>
	</body>
</html>